Methods and apparatus for integrating bluetooth devices into neighbor aware networks

ABSTRACT

Methods and apparatus for integrating Bluetooth devices into neighbor aware networks are described herein. In some aspects, a method for wireless communication may comprise receiving at least one parameter indicating availability of a service associated with a first wireless protocol from a second wireless device configured to communicate according to the first wireless protocol. The method may further comprise encapsulating the at least one parameter into a service discovery frame associated with a second wireless protocol. The method may further comprise transmitting the service discovery frame to a third wireless device configured to communicate according to the second wireless protocol. The first wireless network comprises a Bluetooth protocol and the second wireless network comprises a WiFi protocol

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 14/698,610, filed Apr. 28, 2015, and entitled“METHODS AND APPARATUS FOR INTEGRATING BLUETOOTH DEVICES INTO NEIGHBORAWARE NETWORKS.” application Ser. No. 14/698,610 claims priority toProvisional Application No. 61/987,794 entitled “METHODS AND APPARATUSFOR INTEGRATING BLUETOOTH DEVICES INTO NEIGHBOR AWARE NETWORKS” filedMay 2, 2014, and assigned to the assignee hereof. Each of these priorapplications are considered part of this application, and are herebyincorporated by reference in their entirety.

BACKGROUND

Field

The present application relates generally to wireless communications,and more specifically to methods and apparatuses for integratingBluetooth devices into neighbor aware networks.

Background

In wireless communications, a popular peer-to-peer exchange protocol isBluetooth. However, Bluetooth communications can be limited toparticularly short distances and, in some circumstances, barriers suchas walls can further limit the range and quality of the communications.By contrast, users of certain other wireless communication protocols,such as WiFi, enjoy both increased ranges of communication as well asreduced interference from such barriers. Where wireless communicationnetworks (e.g., WiFi networks) do not include an associated, centralizedaccess point (AP) for traffic scheduling, nearby compatible devices maydynamically communicate with one another in an ad hoc fashion. Suchnetworks may be called neighbor aware networks (NAN). However, WiFidevices and Bluetooth devices do not communicate utilizing the sameprotocols, so Bluetooth-only-compatible devices may be limited in theabove-described manner. In this context, there remains a need formethods and apparatuses for integrating Bluetooth devices into NANs.

SUMMARY

Various implementations of systems, methods and devices within the scopeof the appended claims each have several aspects, no single one of whichis solely responsible for the desirable attributes described herein.Without limiting the scope of the appended claims, some prominentfeatures are described herein. Other features, aspects, and advantageswill become apparent from the description, the drawings, and the claims.

One aspect of this disclosure provides a method of wirelesscommunication. The method comprises receiving at least one parameterindicating availability of a service associated with a first wirelessprotocol from a first wireless device configured to communicateaccording to the first wireless protocol. The method further comprisesencapsulating the at least one parameter into a service discovery frameassociated with a second wireless protocol. The method further comprisestransmitting the service discovery frame to a second wireless deviceconfigured to communicate according to the second wireless protocol.

Another aspect of this disclosure provides an apparatus for wirelesscommunication. The apparatus comprises a receiver configured to receiveat least one parameter indicating availability of a service associatedwith a first wireless protocol from a first wireless device configuredto communicate according to the first wireless protocol. The apparatusfurther comprises a processor configured to encapsulate the at least oneparameter into a service discovery frame associated with a secondwireless protocol. The apparatus further comprises a transmitterconfigured to transmit the service discovery frame to a second wirelessdevice configured to communicate according to the second wirelessprotocol.

Another aspect of this disclosure provides a non-transitorycomputer-readable medium comprising code that, when executed, causes anapparatus to receive at least one parameter indicating availability of aservice associated with a first wireless protocol from a first wirelessdevice configured to communicate according to the first wirelessprotocol. The code, when executed, further causes the apparatus toencapsulate the at least one parameter into a service discovery frameassociated with a second wireless protocol. The code, when executed,further causes the apparatus to transmit the service discovery frame toa second wireless device configured to communicate according to thesecond wireless protocol.

Another aspect of this disclosure provides an apparatus for wirelesscommunication. The apparatus comprises means for receiving at least oneparameter indicating availability of a service associated with a firstwireless protocol from a first wireless device configured to communicateaccording to the first wireless protocol. The apparatus furthercomprises means for encapsulating the at least one parameter into aservice discovery frame associated with a second wireless protocol. Theapparatus further comprises means for transmitting the service discoveryframe to a second wireless device configured to communicate according tothe second wireless protocol.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an exemplary wireless neighbor aware network in whichaspects of the present disclosure may be employed.

FIG. 2 shows an exemplary functional block diagram of an exemplarywireless device that may be employed within the wireless neighbor awarenetwork of FIG. 1.

FIG. 3 shows an exemplary functional block diagram of an apparatus forintegrating Bluetooth devices into neighbor aware networks, inaccordance with an implementation.

FIG. 4 shows another exemplary functional block diagram of an apparatusfor integrating Bluetooth devices into neighbor aware networks, inaccordance with an implementation.

FIG. 5 shows a flowchart of a process for integrating Bluetooth devicesinto neighbor aware networks, in accordance with an implementation.

FIG. 6 shows an exemplary functional block diagram of an apparatus forintegrating Bluetooth devices into neighbor aware networks, inaccordance with an implementation.

FIG. 7 shows a flowchart of another process for integrating Bluetoothdevices into neighbor aware networks, in accordance with animplementation.

DETAILED DESCRIPTION

Various aspects of the novel systems, apparatuses, and methods aredescribed more fully hereinafter with reference to the accompanyingdrawings. This disclosure may, however, be embodied in many differentforms and should not be construed as limited to any specific structureor function presented throughout this disclosure. Rather, these aspectsare provided so that this disclosure will be thorough and complete, andwill fully convey the scope of the disclosure to those skilled in theart. Based on the teachings herein one skilled in the art shouldappreciate that the scope of the disclosure is intended to cover anyaspect of the novel systems, apparatuses, and methods disclosed herein,whether implemented independently of, or combined with, any other aspectof the invention. For example, an apparatus may be implemented or amethod may be practiced using any number of the aspects set forthherein. In addition, the scope of the invention is intended to coversuch an apparatus or method which is practiced using other structure,functionality, or structure and functionality in addition to or otherthan the various aspects of the invention set forth herein. It should beunderstood that any aspect disclosed herein may be embodied by one ormore elements of a claim.

Although particular aspects are described herein, many variations andpermutations of these aspects fall within the scope of the disclosure.Although some benefits and advantages of the preferred aspects arementioned, the scope of the disclosure is not intended to be limited toparticular benefits, uses, or objectives. Rather, aspects of thedisclosure are intended to be broadly applicable to different wirelesstechnologies, system configurations, networks, and transmissionprotocols, some of which are illustrated by way of example in thefigures and in the following description of the preferred aspects. Thedetailed description and drawings are merely illustrative of thedisclosure rather than limiting, the scope of the disclosure beingdefined by the appended claims and equivalents thereof.

Popular wireless network technologies may include various types ofwireless local area networks (WLANs). A WLAN may be used to interconnectnearby devices together, employing widely used networking protocols. Thevarious aspects described herein may apply to any communicationstandard, such as a wireless protocol.

In some implementations, a WLAN includes various devices which are thecomponents that access the wireless network. For example, there may betwo types of devices: access points (“APs”) and clients (also referredto as stations, or “STAs”). An AP may also comprise, be implemented as,or known as a NodeB, Radio Network Controller (“RNC”), eNodeB, BaseStation Controller (“BSC”), Base Transceiver Station (“BTS”), BaseStation (“BS”), Transceiver Function (“TF”), Radio Router, RadioTransceiver, or some other terminology.

A station “STA” may also comprise, be implemented as, or known as anaccess terminal (“AT”), a subscriber station, a subscriber unit, amobile station, a remote station, a remote terminal, a user terminal, auser agent, a user device, user equipment, a wireless device, a wirelessnode, or some other terminology. In some implementations an accessterminal may comprise a cellular telephone, a cordless telephone, aSession Initiation Protocol (“SIP”) phone, a wireless local loop (“WLL”)station, a personal digital assistant (“PDA”), a handheld device havingwireless connection capability, or some other suitable processing deviceconnected to a wireless modem. Accordingly, one or more aspects taughtherein may be incorporated into a phone (e.g., a cellular phone orsmartphone), a computer (e.g., a laptop), a portable communicationdevice, a headset, a portable computing device (e.g., a personal dataassistant), an entertainment device (e.g., a music or video device, or asatellite radio), a gaming device or system, a global positioning systemdevice, or any other suitable device that is configured to communicatevia a wireless medium.

In general, an AP may serve as a hub or base station for the WLAN and anSTA serves as a user of the WLAN. For example, an STA may be a laptopcomputer, a personal digital assistant (PDA), a mobile phone, etc. In anexample, an STA connects to an AP via a WiFi (e.g., IEEE 802.11 protocolsuch as 802.11ah or 802.11ac) compliant wireless link to obtain generalconnectivity to the Internet, to other wide area networks, or directlyto another WiFi-compatible device. In such networks where an AP servesas a base station for the WLAN, all devices associated with thatparticular AP are associated with a corresponding basic service set(“BSS”). Contrarily, where one or more devices are not associated with aparticular AP, those devices may be considered outside the BSS and partof an independent basic service set (“IBSS”). Where a device is a partof an IBSS, the device may communication with one or more other devicesin a NAN.

FIG. 1 shows an exemplary wireless neighbor aware network 100 in whichaspects of the present disclosure may be employed. The NAN 100 maygenerally operate pursuant to a wireless standard (e.g., via WiFi,802.11ah or 802.11ac). However, as will be described in more detailbelow, the NAN 100 may also include devices that are not configured tocommunicate via WiFi and instead are configured to communicate viaanother wireless communication protocol (e.g., Bluetooth protocol). TheNAN 100 may include one or more STAs configured to communicate utilizingWiFi protocols (e.g., WiFi STAs 102 a, 102 b and 102 c). The NAN 100 mayadditionally include one or more STAs configured to communicateutilizing both WiFi and Bluetooth communication protocols (e.g.,WiFi/Bluetooth (WB) STAs 104 a and 104 b). Each of the WiFi STAs 102a-102 c and the WB STAs 104 a-104 b may have NAN-based communicationcapabilities. The NAN 100 may further comprise one or more STAsconfigured to communicate utilizing Bluetooth communication protocols(e.g., Bluetooth (BT) STAs 106 a, 106 b and 106 c). Accordingly, thewireless connections between any of the WiFi STAs 102 a-102 c and/orbetween any of the WB STAs 104 a-104 b may comprise WiFi-basedconnections. Similarly, the wireless connections between any of the BTSTAs 106 a-106 c and/or the WB STAs 104 a-104 b may compriseBluetooth-based connections. Although a certain number of each type ofSTA is shown in FIG. 1, the present application is not so limited andany number of each type of STA may participate in the NAN 100 of FIG. 1.

The present application contemplates extending current WiFi NANdiscovery to include Bluetooth devices and services. For example, asshown in FIG. 1, the WB STAs 104 a-104 b may act as a bridge or relaybetween one or more of the BT STAs 106 a-106 c and one or more of theWiFi STAs 102 a-102 c, since the BT STAs and the WiFi STAs utilizedifferent communication protocols and are not configured to directlycommunicate with one another. In addition, the WB STAs 104 a-104 b mayact as a bridge between any two or more of the BT STAs 106 a-106 c.Because WiFi communications may offer higher signal qualitycommunications over greater distances than purely Bluetoothcommunications, utilizing the WB STAs 106 a-106 c as a bridge mayadditionally improve the availability range of the BT STAs 106 a-106 c

Advertising Bluetooth Services Over a WiFi NAN

In the NAN 100, any of the BT STAs 106 a-106 c may advertise availableservices utilizing a native Bluetooth service discovery protocol andtransmit the advertisement utilizing one or more Bluetooth-specificcommunication mechanisms, such as iBeacon, for example. Such serviceadvertisements may also provide information including but not limited towhether a particular service may be available over the NAN 100. One ormore of the WB STAs 104 a-104 b may receive service advertisements fromthe BT STAs 106 a-106 c within range. Upon receiving the serviceadvertisement(s) transmitted according to the Bluetooth servicediscovery protocol, the one or more WB STAs 104 a-104 b may insert orencapsulate the Bluetooth service descriptors into one or more NANservice discovery frames for subsequent transmission according to one ormore WiFi protocols. For example, the one or more NAN service discoveryframes may include a service description attribute comprising one ormore fields as described in Table 1 below. In some implementations, theWB STAs 104 a-104 b may include a service identification field (serviceID field) in the service description attribute indicating that servicesare available over Bluetooth. The WB STAs 104 a-104 b may also insert adescription of the available service (e.g., whether the service isprovided by a keyboard, a mouse, a speaker, a sensor, a monitor ordisplay, etc.) in a separate service info field of the servicedescription attribute. In some other implementations, the particularservice name (e.g., service description) of the Bluetooth service may behashed to produce a 6 byte value corresponding to the particularBluetooth service for insertion into the above-mentioned service IDfield. A device identifier (e.g., address) of the BT STA 106 a-106 csending the service advertisement may additionally be included in theservice advertisement for notifying the receiving WB STA 104 a-140 b(e.g., bridging WB STA) which BT STA to route associated communicationsand/or traffic to. A functional block diagram of an apparatus forintegrating Bluetooth devices into NANs, as described above, may bedescribed in more detail below in connection with FIG. 3.

In yet other implementations, the Bluetooth service ID may be tunneledutilizing the NAN 100. For example, rather than including the servicedescription in the service info field of the service descriptionattribute, an entirely new encapsulation information element (IE) may bedefined and an indication associated with the Bluetooth service may beinserted into the new encapsulation IE. A functional block diagram of anapparatus for integrating Bluetooth devices into NANs in this way may bedescribed in more detail below in connection with FIG. 4.

TABLE 1 Field Size (octets) Value (Hex) Description Attribute ID 1 0x03Identifies the type of NAN attribute Length 2 Variable Length of thefollowing fields in the attribute. Service ID 6 Variable Set to a hashof generic “Bluetooth service” or hash of particular service name, or aBluetooth profile name, e.g., Bluetooth Speaker Instance ID 1 VariablePublish_ID and/or Subscribe_ID Requestor Instance ID 1 Variable InstanceID from the frame that triggered the transmission if available,otherwise set to 0x00 Service Control 1 Variable Mandatory field thatdefines the Service Control Bitmap Binding Bitmap 2 0x000 to Bindingbitmap may indicate the 0xFFFF availability of the Bluetooth interfaceor other WiFi interface that can provide a post discovery data path forthe Bluetooth service Matching Filter 1 Variable An optional field andpresent if a Length matching service discovery filter is used MatchingFilter Variable Variable May not be needed Service Response 1 VariableAn optional field and present if a Filter Length service response filteris used Service Response Variable Variable An optional field that is aFilter sequence of length and value pairs that identify the matchingservice response filters Service Info Length 1 Variable An optionalfield and present if service specific information is used Service InfoVariable Variable Indicate details of the Bluetooth service if needed

Service Discovery

How the WB STAs 104 a-104 b operate during service discovery may dependupon whether the particular WB STA is already subscribed to a NAN, suchas the NAN 100. For example, where the WB STAs 104 a-104 b are not yetsubscribed to a NAN, the WB STAs 104 a-104 b may transmit an unsolicitedNAN broadcast message via WiFi utilizing 802.11-based data framesincluding the service discovery frames, as described above, indicatingthe Bluetooth services offered by the WB STAs 104 a-104 b themselves, aswell as the indicated Bluetooth services offered by one or more of theBT STAs 106 a-106 c within range.

In another example, where the WB STAs 104 a-104 b are already subscribedto a particular NAN, the WB STAs 104 a-104 b may cache indicatedservices offered by one or more of the BT STAs 106 a-106 c for apredetermined period of time (e.g., a timeout period). Upon receivingone or more queries for services from other STAs in the NAN throughsubscribe messages, the WB STAs 104 a-104 b may transmit the servicedescriptor attributes as previously described. Additionally oralternatively, where a particular WB STA 104 a-104 b has not previouslyreceived an indication for a particular Bluetooth service (e.g., aparticular service indication is not currently being cached by the WBSTA 104 a-104 b) the WB STA 104 a-104 b may trigger a search ordiscovery protocol for the BT STAs 106 a-106 c offering the particularBluetooth service based on a received subscribe message for theparticular Bluetooth service from another STA in the NAN 100.

Post-Discovery Data Paths Over WiFi for Bluetooth Services

Since one or more of the WB STAs 104 a-104 b may provide the NANdiscovery for Bluetooth services provided by or for one or more of theBT STAs 106 a-106 c, those same WB STAs 104 a-104 b may also provide thedata path to and from the one or more BT STAs 106 a-106 c for providingor receiving those services. In some implementations, a newly definedlogical link control header (LLC header) or standard network accessprotocol header (SNAP header) protocol ID may be prepended to datapackets of the service to indicate a particular destination BT STA 106a-106 c before transmitting the data packets over WiFi. The Bluetoothdevice-bound data packets may then be transmitted in 802.11-based dataframes via WiFi direct, via a basic service set (BSS) WiFi interface,via an independent BSS (IBSS) WiFi interface, or via a WiFi meshinterface, for example, depending on the WiFi architecture between thesource and sink devices. The particular interface to be utilized forpost-discovery data transmission may be indicated in a binding bitmapfield included in the service discovery attribute, as described above inconnection with Table 1. In addition, an availability time for theinterface may be indicated in the particular interface attribute. Insome implementations, where a particular service requires a Bluetoothinterface for delivery, the availability time for the Bluetoothinterface may be indicated in a new Bluetooth attribute.

In some implementations, where a WiFi mesh interface topology is used toroute data to one or more of the BT STAs 106 a-106 c, the MAC address ofthe bridging WB STA may be used to route the data to the BT STA. Thus,the service discovery attribute that carries the Bluetooth-based serviceindicates the WiFi interface over which access to the BT service isavailable.

Discovering a NAN and NAN Services Over Bluetooth

In certain circumstances, it may be useful or desirable to have NANclusters discoverable over Bluetooth (BT) or Bluetooth Low Energy (BTLE)interfaces. In this way the lower power BT/BTLE discovery may beleveraged. Here, the parameters of the NAN cluster may be transmittedover the Bluetooth link from the WB STAs 104 a-104 b to the BT STAs 106a-106 c. However, due to the low data capacity of BT/BTLE interfaces, aset of key NAN parameters may need to be compressed before communicationover the BT/BTLE interface. Exemplary parameters that may be indicatedin such a compressed set of NAN parameters may include a ClusterIdentifier (which may be a low byte hash associated with the NANcluster), a discovery window transmission time, and an Anchor MasterRank (which may be used to rate the strength, reliability ordesirability of a particular data path through the NAN in the case ofdata path merge decisions). Such parameters may be carried in aBluetooth frame to the appropriate BT STAs 106 a-106 c.

FIG. 2 shows an exemplary functional block diagram of a wireless device202 that may be employed within the NAN 100 of FIG. 1. The wirelessdevice 202 is an example of a device that may be configured to implementthe various methods described herein. For example, the wireless device202 may comprise any of the WB STAs 104 b-104 b. illustrated in FIG. 1,or variations thereof.

The wireless device 202 may include a processor 204 which controlsoperation of the wireless device 202. The processor 204 may also bereferred to as a central processing unit (CPU). Memory 206, which mayinclude both read-only memory (ROM) and random access memory (RAM), mayprovide instructions and data to the processor 204. A portion of thememory 206 may also include non-volatile random access memory (NVRAM).The processor 204 typically performs logical and arithmetic operationsbased on program instructions stored within the memory 206. Theinstructions in the memory 206 may be executable to implement themethods described herein.

The processor 204 may comprise or be a component of a processing systemimplemented with one or more processors. The one or more processors maybe implemented with any combination of general-purpose microprocessors,microcontrollers, digital signal processors (DSPs), field programmablegate array (FPGAs), programmable logic devices (PLDs), controllers,state machines, gated logic, discrete hardware components, dedicatedhardware finite state machines, or any other suitable entities that canperform calculations or other manipulations of information.

The processing system may also include machine-readable media forstoring software. Software shall be construed broadly to mean any typeof instructions, whether referred to as software, firmware, middleware,microcode, hardware description language, or otherwise. Instructions mayinclude code (e.g., in source code format, binary code format,executable code format, or any other suitable format of code). Theinstructions, when executed by the one or more processors, cause theprocessing system to perform the various functions described herein.

The wireless device 202 may also include a housing 208 that may includea transmitter 210 and/or a receiver 212 to allow transmission andreception of data between the wireless device 202 and a remote location.The transmitter 210 and receiver 212 may be combined into a transceiver214. An antenna 216 may be attached to the housing 208 and electricallycoupled to the transceiver 214. The wireless device 202 may also include(not shown) multiple transmitters, multiple receivers, multipletransceivers, and/or multiple antennas.

The wireless device 202 may also include a signal detector 218 that maybe used to detect and quantify the level of signals received by thetransceiver 214. The signal detector 218 may detect such signals suchas, for example, total energy, energy per subcarrier per symbol, powerspectral density and other signals. Certain aspects contemplate thesignal detector 218 being used by software running on the memory 206 andthe processor 204 to detect the presence of a transmitter or receiver.The wireless device 202 may also include a digital signal processor(DSP) 220 for use in processing signals. The DSP 220 may be configuredto generate a packet for transmission. In some aspects, the packet maycomprise a physical layer data unit (PPDU) or the like.

The wireless device 202 may further comprise a user interface 222 insome aspects. The user interface 222 may comprise a keypad, amicrophone, a speaker, and/or a display. The user interface 222 mayinclude any element or component that conveys information to a user ofthe wireless device 202 and/or receives input from the user.

The various components of the wireless device 202 may be coupledtogether by a bus system 226. The bus system 226 may include a data bus,for example, as well as a power bus, a control signal bus, and a statussignal bus in addition to the data bus. Those of skill in the art willappreciate the components of the wireless device 202 may be coupledtogether or accept or provide inputs to each other using some othermechanism.

Although a number of separate components are illustrated in FIG. 2,those of skill in the art will recognize that one or more of thecomponents may be combined or commonly implemented. For example, theprocessor 204 may be used to implement not only the functionalitydescribed above with respect to the processor 204, but also to implementthe functionality described above with respect to the signal detector218 and/or the DSP 220. Further, each of the components illustrated inFIG. 2 may be implemented using a plurality of separate elements.

FIG. 3 shows an exemplary functional block diagram of an apparatus 300for integrating Bluetooth devices into neighbor aware networks, inaccordance with an implementation. The apparatus 300 may correspond tothe wireless device 200 of FIG. 2 and/or any of the WB STAs 104 a-104 bof FIG. 1, and may be configured to perform one or more of the actionspreviously described in connection with FIG. 1 and as will be describedin more detail in connection with FIGS. 5-7 below. The apparatus 300 maycomprise a Bluetooth media access control (MAC) layer and physical (PHY)layer module 302. The PHY layer portion may be a standard PHY layer,performing tasks such as character encoding/decoding, transmission andreception of Bluetooth data. The MAC layer portion may be a standard MAClayer, performing tasks such as error detection, control of access tothe Bluetooth medium, frame delimiting and recognition and addressing ofdestination Bluetooth devices.

The apparatus 300 may additionally comprise a Bluetooth Discovery Engine304, which may provide functionality associated with discovering otherBluetooth devices within range of the apparatus 300. The apparatus 300may additionally comprise a WiFi MAC/PHY layer module 310. The PHY layerportion may be a standard PHY layer, performing tasks such as characterencoding/decoding, transmission and reception of WiFi data. The MAClayer portion may be a standard MAC layer, performing tasks such aserror detection, control of access to the WiFi medium, frame delimitingand recognition and addressing of destination WiFi devices. Theapparatus 300 may additionally comprise an application 312, which may beconfigured to monitor and control processes associated with any of thepreviously mentioned modules or features of the apparatus 300. As shown,since the application 312 is configured to separately communicate withthe BT portion (BT Discovery Engine 304 and BT MAC/PHY 302) and the NANportion (NAN Discovery Engine 308 and NAN MAC/PHY 310), the application312 operates with an awareness of the MAC/PHY layers for both of the BTand NAN portions. The apparatus 300 may additionally comprise a NAN/BTadaptation layer 306, which may be configured to adapt and/or repackagecommunications received from the Bluetooth medium for retransmissionover the WiFi medium, or vice versa, as previously described inconnection with FIG. 1.

FIG. 4 shows an exemplary functional block diagram of an apparatus 400for integrating Bluetooth devices into neighbor aware networks, inaccordance with an implementation. The apparatus 400 may correspond tothe wireless device 200 of FIG. 2 and/or any of the WB STAs 104 a-104 bof FIG. 1. The apparatus 400 may comprise a BT MAC/PHY layer module 402,a BT Discovery Engine 404, a WiFi MAC/PHY layer module 410, and a NANDiscovery Engine 408, each corresponding to the BT MAC/PHY layer module302, the BT Discovery Engine 304, the WiFi MAC/PHY layer module 310 andthe NAN Discovery Engine 308 of FIG. 3, respectively. The apparatus 400may additionally include an application services platform (ASP) 414,which may comprise a generic protocol layer that may communicate withboth the BT portion (402/404) and the WiFi portion (408/410). Theapparatus 400 may further comprise a NAN/BT adaptation layer 406, whichmay be configured to adapt and/or repackage communications received fromthe Bluetooth medium for retransmission over the WiFi medium, or viceversa, as previously described in connection with FIG. 1. The apparatusmay also comprise an application 412 corresponding to application 312 ofFIG. 3 with the exception that the application 412 need not operate withan awareness of the MAC/PHY layers for both of the BT and NAN portions,since the application 412 may communicate with the ASP 414.

FIG. 5 shows a flowchart 500 of a process for integrating Bluetoothdevices into neighbor aware networks, in accordance with animplementation. The method of flowchart 500 is described herein withreference to FIGS. 1 through 4. In one implementation, one or more ofthe steps in flowchart 500 may be performed by, or in connection with, aprocessor, memory, receiver, and/or transmitter, such as the processor204, the memory 206, the receiver 212 and the transmitter 210 of FIG. 2,although those having ordinary skill in the art will appreciate thatother components may be used to implement one or more of the stepsdescribed herein. Although blocks may be described as occurring in acertain order, the blocks can be reordered, blocks can be omitted,and/or additional blocks can be added.

The method may begin with block 502, which includes receiving at leastone parameter indicating availability of a service associated with afirst wireless protocol from a first wireless device configured tocommunicate according to the first wireless protocol. For example, aspreviously described in the “Advertising Bluetooth Services Over a WiFiNAN” section in connection with FIG. 1, the at least one parameter maycomprise service advertisement(s) according to a Bluetooth servicediscovery protocol.

The method may continue with block 504, which includes encapsulating theat least one parameter into a service discovery frame associated with asecond wireless protocol. For example, as previously described in the“Advertising Bluetooth Services Over a WiFi NAN” section in connectionwith FIG. 1, the service discovery frame may comprise a NAN servicediscovery frame. In addition, the encapsulating may comprise providing aservice ID field, and optionally, a separate service info field in aservice description attribute of the NAN service discovery frame aspreviously described.

The method may continue with block 506, which includes transmitting theservice discovery frame to a second wireless device configured tocommunicate according to the second wireless protocol. As previouslydescribed in connection with FIG. 1, the NAN service discovery frame,including the Bluetooth service information, may be transmitted via802.11-based (WiFi) frames to one or more wireless devices in the NAN100.

FIG. 6 shows an exemplary functional block diagram of an apparatus 600for integrating Bluetooth devices into neighbor aware networks, inaccordance with an implementation. Those skilled in the art willappreciate that such an exemplary device may have more components thanthe simplified apparatus 600 shown in FIG. 6. The apparatus 600 shownincludes only those components useful for describing some prominentfeatures of implementations within the scope of the claims.

The apparatus 600 includes means 602 for receiving at least oneparameter indicating availability of a service associated with a firstwireless protocol from a first wireless device configured to communicateaccording to the first wireless protocol. In an implementation, themeans 602 can be configured to perform one or more of the functionsdescribed above with respect to block 502 (FIG. 5). The means 602 maycomprise at least the receiver 212 of the wireless device 202 as shownin FIG. 2, for example.

The apparatus 600 further includes means 604 for encapsulating the atleast one parameter into a service discovery frame associated with asecond wireless protocol. In an implementation, the means 604 can beconfigured to perform one or more of the functions described above withrespect to block 504 (FIG. 5). The means 604 may comprise at least theprocessor 204 of the wireless device 202 as shown in FIG. 2, forexample.

The apparatus 600 further includes means 606 for transmitting theservice discovery frame to a second wireless device configured tocommunicate according to the second wireless protocol. In animplementation, the means 606 can be configured to perform one or moreof the functions described above with respect to block 506 (FIG. 5). Themeans 606 may comprise at least the transmitter 210 of the wirelessdevice 202 as shown in FIG. 2, for example, but may additionally includethe processor 204.

FIG. 7 shows a flowchart 700 of a process for integrating Bluetoothdevices into neighbor aware networks, in accordance with animplementation. The method of flowchart 700 is described herein withreference to FIGS. 1 through 4. In one implementation, one or more ofthe steps in flowchart 700 may be performed by, or in connection with, aprocessor, a memory, a receiver, and/or transmitter, such as theprocessor 204, the memory 206, the receiver 212 and the transmitter 210of FIG. 2, although those having ordinary skill in the art willappreciate that other components may be used to implement one or more ofthe steps described herein. Although blocks may be described asoccurring in a certain order, the blocks can be reordered, blocks can beomitted, and/or additional blocks can be added. Moreover, the blocks offlowchart 700 may be considered as either a continuation of theflowchart 500 of FIG. 5 or, alternatively, as a stand-alone method,depending on the implementation.

The method may begin with block 702, which includes determining a set ofparameters comprising at least one of an identifier associated with acluster of one or more wireless devices configured to communicateaccording to the second wireless protocol, an indication of a discoverywindow transmission time associated with the cluster, and a reliabilitymetric associated with the cluster. For example, as previously describedin the “Discovering a NAN and NAN Services over Bluetooth” section inconnection with FIG. 1, a set of key NAN parameters may be compressedbefore being communicated over the BT/BTLE interface. Exemplaryparameters may include a Cluster Identifier, a discovery windowtransmission time, and an Anchor Master Rank (which may be used to ratethe strength, reliability or desirability of a particular data paththrough the NAN in the case of data path merge decisions).

The method may continue with block 704, which includes inserting theparameters into a frame associated with the first wireless protocol. Aspreviously described, the parameters may be carried in a Bluetooth frame(e.g., the frame associated with the first wireless protocol) to theappropriate BT STAs 106 a-106 c.

The method may continue with block 706, which includes transmitting theframe associated with the first wireless protocol over a communicationchannel associated with the first wireless protocol to a wireless deviceconfigured to communicate according to the first wireless protocol. Aspreviously described, this frame may be a Bluetooth frame and may betransmitted to a Bluetooth device over a Bluetooth communicationchannel.

As used herein, the term “determining” encompasses a wide variety ofactions. For example, “determining” may include calculating, computing,processing, deriving, investigating, looking up (e.g., looking up in atable, a database or another data structure), ascertaining and the like.Also, “determining” may include receiving (e.g., receiving information),accessing (e.g., accessing data in a memory) and the like. Also,“determining” may include resolving, selecting, choosing, establishingand the like. Further, a “channel width” as used herein may encompass ormay also be referred to as a bandwidth in certain aspects.

As used herein, a phrase referring to “at least one of” a list of itemsrefers to any combination of those items, including single members. Asan example, “at least one of: a, b, or c” is intended to cover: a, b, c,a-b, a-c, b-c, and a-b-c.

The various operations of methods described above may be performed byany suitable means capable of performing the operations, such as varioushardware and/or software component(s), circuits, and/or module(s).Generally, any operations illustrated in the Figures may be performed bycorresponding functional means capable of performing the operations.

The various illustrative logical blocks, modules and circuits describedin connection with the present disclosure may be implemented orperformed with a general purpose processor, a digital signal processor(DSP), an application specific integrated circuit (ASIC), a fieldprogrammable gate array signal (FPGA) or other programmable logic device(PLD), discrete gate or transistor logic, discrete hardware componentsor any combination thereof designed to perform the functions describedherein. A general purpose processor may be a microprocessor, but in thealternative, the processor may be any commercially available processor,controller, microcontroller or state machine. A processor may also beimplemented as a combination of computing devices, e.g., a combinationof a DSP and a microprocessor, a plurality of microprocessors, one ormore microprocessors in conjunction with a DSP core, or any other suchconfiguration.

In one or more aspects, the functions described may be implemented inhardware, software, firmware, or any combination thereof. If implementedin software, the functions may be stored on or transmitted over as oneor more instructions or code on a computer-readable medium.Computer-readable media includes both computer storage media andcommunication media including any medium that facilitates transfer of acomputer program from one place to another. A storage media may be anyavailable media that can be accessed by a computer. By way of example,and not limitation, such computer-readable media can comprise RAM, ROM,EEPROM, CD-ROM or other optical disk storage, magnetic disk storage orother magnetic storage devices, or any other medium that can be used tocarry or store desired program code in the form of instructions or datastructures and that can be accessed by a computer. Also, any connectionis properly termed a computer-readable medium. For example, if thesoftware is transmitted from a website, server, or other remote sourceusing a coaxial cable, fiber optic cable, twisted pair, digitalsubscriber line (DSL), or wireless technologies such as infrared, radio,and microwave, then the coaxial cable, fiber optic cable, twisted pair,DSL, or wireless technologies such as infrared, radio, and microwave areincluded in the definition of medium. Disk and disc, as used herein,includes compact disc (CD), laser disc, optical disc, digital versatiledisc (DVD), floppy disk and blu-ray disc where disks usually reproducedata magnetically, while discs reproduce data optically with lasers.Thus, in some aspects computer readable medium may comprisenon-transitory computer readable medium (e.g., tangible media). Inaddition, in some aspects computer readable medium may comprisetransitory computer readable medium (e.g., a signal). Combinations ofthe above should also be included within the scope of computer-readablemedia.

The methods disclosed herein comprise one or more steps or actions forachieving the described method. The method steps and/or actions may beinterchanged with one another without departing from the scope of theclaims. In other words, unless a specific order of steps or actions isspecified, the order and/or use of specific steps and/or actions may bemodified without departing from the scope of the claims.

The functions described may be implemented in hardware, software,firmware or any combination thereof. If implemented in software, thefunctions may be stored as one or more instructions on acomputer-readable medium. A storage media may be any available mediathat can be accessed by a computer. By way of example, and notlimitation, such computer-readable media can comprise RAM, ROM, EEPROM,CD-ROM or other optical disk storage, magnetic disk storage or othermagnetic storage devices, or any other medium that can be used to carryor store desired program code in the form of instructions or datastructures and that can be accessed by a computer. Disk and disc, asused herein, include compact disc (CD), laser disc, optical disc,digital versatile disc (DVD), floppy disk, and Blu-ray® disc where disksusually reproduce data magnetically, while discs reproduce dataoptically with lasers.

Thus, certain aspects may comprise a computer program product forperforming the operations presented herein. For example, such a computerprogram product may comprise a computer readable medium havinginstructions stored (and/or encoded) thereon, the instructions beingexecutable by one or more processors to perform the operations describedherein. For certain aspects, the computer program product may includepackaging material.

Software or instructions may also be transmitted over a transmissionmedium. For example, if the software is transmitted from a website,server, or other remote source using a coaxial cable, fiber optic cable,twisted pair, digital subscriber line (DSL), or wireless technologiessuch as infrared, radio, and microwave, then the coaxial cable, fiberoptic cable, twisted pair, DSL, or wireless technologies such asinfrared, radio, and microwave are included in the definition oftransmission medium.

Further, it should be appreciated that modules and/or other appropriatemeans for performing the methods and techniques described herein can bedownloaded and/or otherwise obtained by a user terminal and/or basestation as applicable. For example, such a device can be coupled to aserver to facilitate the transfer of means for performing the methodsdescribed herein. Alternatively, various methods described herein can beprovided via storage means (e.g., RAM, ROM, a physical storage mediumsuch as a compact disc (CD) or floppy disk, etc.), such that a userterminal and/or base station can obtain the various methods uponcoupling or providing the storage means to the device. Moreover, anyother suitable technique for providing the methods and techniquesdescribed herein to a device can be utilized.

It is to be understood that the claims are not limited to the preciseconfiguration and components illustrated above. Various modifications,changes and variations may be made in the arrangement, operation anddetails of the methods and apparatus described above without departingfrom the scope of the claims.

While the foregoing is directed to aspects of the present disclosure,other and further aspects of the disclosure may be devised withoutdeparting from the basic scope thereof, and the scope thereof isdetermined by the claims that follow.

What is claimed is:
 1. A method for wireless communication, comprising:receiving, by a first wireless device, at least one parameter indicatingavailability of a service associated with a first wireless protocol froma second wireless device configured to communicate according to thefirst wireless protocol; encapsulating, by a first wireless device, theat least one parameter into a service discovery frame associated with asecond wireless protocol; and transmitting, by a first wireless device,the service discovery frame to a third wireless device configured tocommunicate according to the second wireless protocol.
 2. The method ofclaim 1, wherein encapsulating comprises inserting at least one of: anaddress of the second wireless device into the service discovery frame;and a service identification field into a service description attributeof the service discovery frame.
 3. The method of claim 2, whereinencapsulating further comprises inserting at least one of an indicationof the available service or a hash of the indication of the availableservice into a service information field of the service descriptionattribute.
 4. The method of claim 1, further comprising: receiving, by afirst wireless device, a data packet associated with the availableservice from the second wireless device; prepending, by a first wirelessdevice, a header to the data packet, the header comprising a protocolidentification indicating the wireless device configured to communicateaccording to the first wireless protocol; and transmitting, by a firstwireless device, the data packet having the prepended header to thethird wireless device configured to communicate according to the secondwireless protocol.
 5. The method of claim 1, comprising determining, bya first wireless device, a set of parameters comprising at least one ofan identifier associated with a cluster of wireless devices configuredto communicate according to the second wireless protocol, an indicationof a discovery window transmission time associated with the cluster, anda reliability metric associated with the cluster; inserting, by a firstwireless device, the set of parameters into a frame associated with thefirst wireless protocol; and transmitting, by a first wireless device,the frame associated with the first wireless protocol over acommunication channel associated with the first wireless protocol to afourth wireless device configured to communicate according to the firstwireless protocol.
 6. The method of claim 1, wherein the first wirelessprotocol comprises a Bluetooth protocol and the second wireless protocolcomprises a WiFi protocol.
 7. The method of claim 1, further comprisingtransmitting, by the first wireless device, the at least one parameteraccording to the first wireless protocol to a fourth wireless device. 8.The method of claim 1, further comprising: receiving, by the thirdwireless device, the service discovery frame; and transmitting, by thethird wireless device, the at least one parameter to a fourth wirelessdevice according to the first wireless protocol.
 9. The method of claim1, wherein the second wireless device is a Bluetooth-only device. 10.The method of claim 1, wherein the third wireless device is configuredto communicate using WiFi protocols.
 11. The method of claim 1, whereinthe third wireless device is unable to communicate using Bluetooth. 12.A first wireless device for wireless communication, comprising: areceiver configured to receive at least one parameter indicatingavailability of a service associated with a first wireless protocol froma second wireless device configured to communicate according to thefirst wireless protocol; a hardware processor configured to encapsulatethe at least one parameter into a service discovery frame associatedwith a second wireless protocol; and a transmitter configured totransmit the service discovery frame to a third wireless deviceconfigured to communicate according to the second wireless protocol. 13.The first wireless device of claim 12, wherein the hardware processor isconfigured to insert at least one of: an address of the second wirelessdevice into the service discovery frame, and a service identificationfield into a service description attribute of the service discoveryframe.
 14. The first wireless device of claim 13, wherein the processoris configured to insert at least one of an indication of the availableservice or a hash of the indication of the available service into aservice information field of the service description attribute.
 15. Thefirst wireless device of claim 12, wherein: the receiver is configuredto receive a data packet associated with the available service from thesecond wireless device, the hardware processor is configured to prependa header to the data packet, the header including a protocolidentification indicating the wireless device configured to communicateaccording to the first wireless protocol, and the transmitter isconfigured to transmit the data packet having the prepended header tothe third wireless device configured to communicate according to thesecond wireless protocol.
 16. The first wireless device of claim 15,wherein the header comprises one of a logical link control header and astandard network access protocol header.
 17. The first wireless deviceof claim 12, wherein: the hardware processor is configured to: determinea set of parameters comprising at least one of an identifier associatedwith a cluster of wireless devices configured to communicate accordingto the second wireless protocol, an indication of a discovery windowtransmission time associated with the cluster, and a reliability metricassociated with the cluster, and insert the parameters into a frameassociated with the first wireless protocol; and the transmitter isconfigured to transmit the frame associated with the first wirelessprotocol over a communication channel associated with the first wirelessprotocol to a fourth wireless device configured to communicate accordingto the first wireless protocol.
 18. The apparatus of claim 12, whereinthe first wireless protocol comprises a Bluetooth protocol and thesecond wireless protocol comprises a WiFi protocol.
 19. The apparatus ofclaim 12, wherein the transmitter is further configured to transmit theat least one parameter according to the first wireless protocol to afourth wireless device.
 20. The apparatus of claim 12, wherein thesecond wireless device is a Bluetooth-only device.
 21. The apparatus ofclaim 12, wherein the third wireless device is configured to communicateusing WiFi protocols.
 22. The apparatus of claim 12, wherein the thirdwireless device is unable to communicate using Bluetooth.
 23. Anon-transitory computer-readable medium comprising code that, whenexecuted, causes a first wireless device to: receive at least oneparameter indicating availability of a service associated with a firstwireless protocol from a second wireless device configured tocommunicate according to the first wireless protocol; encapsulate the atleast one parameter into a service discovery frame associated with asecond wireless protocol; and transmit the service discovery frame to athird wireless device configured to communicate according to the secondwireless protocol.
 24. The non-transitory computer-readable medium ofclaim 23, wherein the code, when executed, further causes the firstwireless device to encapsulate the at least one parameter based oninserting at least one of: an address of the second wireless deviceservice into the service discovery frame; and a service identificationfield into a service description attribute of the service discoveryframe.
 25. The non-transitory computer-readable medium of claim 24,wherein the code, when executed, further causes the first wirelessdevice to encapsulate the at least one parameter based on inserting atleast one of an indication of the available service and a hash of theindication of the available service into a service information field ofthe service description attribute.
 26. The non-transitorycomputer-readable medium of claim 23, wherein the code, when executed,further causes the first wireless device to: receive a data packetassociated with the available service from the second wireless device;prepending a header to the data packet, the header comprising a protocolidentification indicating the wireless device configured to communicateaccording to the first wireless protocol; and transmit the data packethaving the prepended header to the third wireless device configured tocommunicate according to the second wireless protocol.
 27. Thenon-transitory computer-readable medium of claim 23, the method furthercomprising transmitting, by the first wireless device, the at least oneparameter according to the first wireless protocol to a fourth wirelessdevice.
 28. The non-transitory computer-readable medium of claim 23,wherein the second wireless device is a Bluetooth-only device.
 29. Thenon-transitory computer-readable medium of claim 23, wherein the thirdwireless device is configured to communicate using WiFi protocols. 30.The non-transitory computer-readable medium of claim 23, wherein thethird wireless device is unable to communicate using Bluetooth.